package com.wlit;
import com.intelligt.modbus.jlibmodbus.Modbus;
import com.intelligt.modbus.jlibmodbus.master.ModbusMaster;
import com.intelligt.modbus.jlibmodbus.master.ModbusMasterFactory;
import com.intelligt.modbus.jlibmodbus.serial.SerialParameters;
import com.intelligt.modbus.jlibmodbus.serial.SerialPort;
import com.intelligt.modbus.jlibmodbus.serial.SerialUtils;

public class YsMaker {
    public static void main(String[] args) {
        try {
            Modbus.setLogLevel(Modbus.LogLevel.LEVEL_DEBUG);
            SerialUtils.setSerialPortFactoryRXTX();
            SerialParameters params = new SerialParameters();
            params.setDevice("COM3");
            params.setBaudRate(SerialPort.BaudRate.BAUD_RATE_9600); // 设置波特率
            params.setDataBits(8);
            params.setParity(SerialPort.Parity.NONE);
            params.setStopBits(1);


            ModbusMaster master = ModbusMasterFactory.createModbusMasterRTU(params);
            //master.setDebug(false);
            master.connect();
            master.setResponseTimeout(30000);

            // 确保连接成功
            if (master.isConnected()) {
                System.out.println("Connected to Modbus Slave");
            } else {
                System.out.println("Connection failed");
            }

            int slaveId = 1; // 从机地址
            //对应的
            master.writeMultipleRegisters(slaveId, 0x0010, new int[]{YsConst.OPEN_SOUND_AND_LIGHT,
                    YsConst.VOLUME_LEVEL30,YsConst.SOUND_FILE1,YsConst.PLAY_SINGLE, YsConst.LIGHT_STROBE_SYNC});

            Thread.sleep(2000);
            master.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }



}